home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / plain / contrib / springer / mathmult / mathmult.cmm < prev    next >
Encoding:
Text File  |  1991-12-08  |  22.4 KB  |  541 lines

  1. % This is MATHMULT.CMM the plain TeX macro package
  2. % (CM version) from Springer-Verlag
  3. % for multi author books in mathematics, version of March 1991
  4. \font \tbfontt                = cmbx10 scaled\magstep1
  5. \font \tafontt                = cmbx10 scaled\magstep2
  6. \font \tbfontss               = cmbx5  scaled\magstep1
  7. \font \tafontss               = cmbx5  scaled\magstep2
  8. \font \sixbf                  = cmbx6
  9. \font \tbfonts                = cmbx7  scaled\magstep1
  10. \font \tafonts                = cmbx7  scaled\magstep2
  11. \font \ninebf                 = cmbx9
  12. \font \tasys                  = cmex10 scaled\magstep1
  13. \font \tasyt                  = cmex10 scaled\magstep2
  14. \font \sixi                   = cmmi6
  15. \font \ninei                  = cmmi9
  16. \font \tams                   = cmmib10
  17. \font \tbmss                  = cmmib10 scaled 600
  18. \font \tamss                  = cmmib10 scaled 700
  19. \font \tbms                   = cmmib10 scaled 833
  20. \font \tbmt                   = cmmib10 scaled\magstep1
  21. \font \tamt                   = cmmib10 scaled\magstep2
  22. \font \smallescriptscriptfont = cmr5
  23. \font \smalletextfont         = cmr5 at 10pt
  24. \font \smallescriptfont       = cmr5 at 7pt
  25. \font \sixrm                  = cmr6
  26. \font \ninerm                 = cmr9
  27. \font \ninesl                 = cmsl9
  28. \font \tensans                = cmss10
  29. \font \fivesans               = cmss10 at 5pt
  30. \font \sixsans                = cmss10 at 6pt
  31. \font \sevensans              = cmss10 at 7pt
  32. \font \ninesans               = cmss10 at 9pt
  33. \font \tbst                   = cmsy10 scaled\magstep1
  34. \font \tast                   = cmsy10 scaled\magstep2
  35. \font \tbsss                  = cmsy5  scaled\magstep1
  36. \font \tasss                  = cmsy5  scaled\magstep2
  37. \font \sixsy                  = cmsy6
  38. \font \tbss                   = cmsy7  scaled\magstep1
  39. \font \tass                   = cmsy7  scaled\magstep2
  40. \font \ninesy                 = cmsy9
  41. \font \markfont               = cmti10 at 11pt
  42. \font \nineit                 = cmti9
  43. \font \ninett                 = cmtt9
  44. %-----------------------------------------------------------------------
  45. \magnification=\magstep0
  46. \hsize=12.2truecm
  47. \vsize=19.4truecm
  48. \hfuzz=2pt
  49. \tolerance=500
  50. \abovedisplayskip=3 mm plus6pt minus 4pt
  51. \belowdisplayskip=3 mm plus6pt minus 4pt
  52. \abovedisplayshortskip=0mm plus6pt minus 2pt
  53. \belowdisplayshortskip=2 mm plus4pt minus 4pt
  54. \predisplaypenalty=0
  55. \clubpenalty=10000
  56. \widowpenalty=10000
  57. \frenchspacing
  58. \newdimen\oldparindent\oldparindent=1.5em
  59. \parindent=1.5em
  60. %-----------------------------------------------------------------------
  61. \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  62. \halign{\hfil
  63. $\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
  64. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
  65. \cr\to\cr}}}
  66. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
  67. \cr\to\cr}}}
  68. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  69. \gets\cr\to\cr}}}}}
  70. \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  71. $\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
  72. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
  73. \noalign{\vskip1.2pt}=\cr}}}
  74. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
  75. \noalign{\vskip1pt}=\cr}}}
  76. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  77. <\cr
  78. \noalign{\vskip0.9pt}=\cr}}}}}
  79. \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  80. $\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
  81. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
  82. \noalign{\vskip1.2pt}=\cr}}}
  83. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
  84. \noalign{\vskip1pt}=\cr}}}
  85. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  86. >\cr
  87. \noalign{\vskip0.9pt}=\cr}}}}}
  88. \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  89. \halign{\hfil
  90. $\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
  91. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
  92. >\cr\noalign{\vskip-1pt}<\cr}}}
  93. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
  94. >\cr\noalign{\vskip-0.8pt}<\cr}}}
  95. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  96. >\cr\noalign{\vskip-0.3pt}<\cr}}}}}
  97. \def\bbbr{{\rm I\!R}} %reelle Zahlen
  98. \def\bbbm{{\rm I\!M}}
  99. \def\bbbn{{\rm I\!N}} %natuerliche Zahlen
  100. \def\bbbf{{\rm I\!F}}
  101. \def\bbbh{{\rm I\!H}}
  102. \def\bbbk{{\rm I\!K}}
  103. \def\bbbp{{\rm I\!P}}
  104. \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
  105. {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
  106. \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
  107. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  108. {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
  109. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  110. {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
  111. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  112. {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
  113. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
  114. \def\bbbe{{\mathchoice {\setbox0=\hbox{\smalletextfont e}\hbox{\raise
  115. 0.1\ht0\hbox to0pt{\kern0.4\wd0\vrule width0.3pt
  116. height0.7\ht0\hss}\box0}}
  117. {\setbox0=\hbox{\smalletextfont e}\hbox{\raise 0.1\ht0\hbox
  118. to0pt{\kern0.4\wd0\vrule width0.3pt height0.7\ht0\hss}\box0}}
  119. {\setbox0=\hbox{\smallescriptfont e}\hbox{\raise 0.1\ht0\hbox
  120. to0pt{\kern0.5\wd0\vrule width0.2pt height0.7\ht0\hss}\box0}}
  121. {\setbox0=\hbox{\smallescriptscriptfont e}\hbox{\raise
  122. 0.1\ht0\hbox to0pt{\kern0.4\wd0\vrule width0.2pt
  123. height0.7\ht0\hss}\box0}}}}
  124. \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm Q$}\hbox{\raise
  125. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  126. {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
  127. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  128. {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
  129. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
  130. {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
  131. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
  132. \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  133. T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  134. {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
  135. to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  136. {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
  137. to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  138. {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
  139. to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
  140. \def\bbbs{{\mathchoice
  141. {\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox
  142. to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  143. to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  144. {\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox
  145. to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  146. to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  147. {\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox
  148. to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  149. to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
  150. {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
  151. to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  152. to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
  153. \def\bbbz{{\mathchoice {\hbox{$\sans\textstyle Z\kern-0.4em Z$}}
  154. {\hbox{$\sans\textstyle Z\kern-0.4em Z$}}
  155. {\hbox{$\sans\scriptstyle Z\kern-0.3em Z$}}
  156. {\hbox{$\sans\scriptscriptstyle Z\kern-0.2em Z$}}}}
  157. %-----------------------------------------------------------------------
  158. % petit-fonts
  159. \skewchar\ninei='177 \skewchar\sixi='177
  160. \skewchar\ninesy='60 \skewchar\sixsy='60
  161. \hyphenchar\ninett=-1
  162. \def\newline{\hfil\break}%
  163. %-----------------------------------------------------------------------
  164. \catcode`@=11
  165. \def\folio{\ifnum\pageno<\z@
  166. \uppercase\expandafter{\romannumeral-\pageno}%
  167. \else\number\pageno \fi}
  168. \catcode`@=12 % at signs are no longer letters
  169. %-------------------------------------------------------
  170. % Definition der versal griechischen Buchstaben
  171. %=======================================================================
  172.   \mathchardef\Gamma="0100
  173.   \mathchardef\Delta="0101
  174.   \mathchardef\Theta="0102
  175.   \mathchardef\Lambda="0103
  176.   \mathchardef\Xi="0104
  177.   \mathchardef\Pi="0105
  178.   \mathchardef\Sigma="0106
  179.   \mathchardef\Upsilon="0107
  180.   \mathchardef\Phi="0108
  181.   \mathchardef\Psi="0109
  182.   \mathchardef\Omega="010A
  183. %-----------------------------------------------------------------------
  184. \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
  185. \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
  186. \penalty50\hskip1em\null\nobreak\hfil\squareforqed
  187. \parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
  188. %-----------------------------------------------------------------------
  189. \newfam\sansfam
  190. \textfont\sansfam=\tensans\scriptfont\sansfam=\sevensans
  191. \scriptscriptfont\sansfam=\fivesans
  192. \def\sans{\fam\sansfam\tensans}
  193. %-----------------------------------------------------------------------
  194. \def\stackfigbox{\if
  195. Y\FIG\global\setbox\figbox=\vbox{\unvbox\figbox\box1}%
  196. \else\global\setbox\figbox=\vbox{\box1}\global\let\FIG=Y\fi}
  197. %
  198. \def\placefigure{\dimen0=\ht1\advance\dimen0by\dp1
  199. \advance\dimen0by5\baselineskip
  200. \advance\dimen0by0.4true cm
  201. \ifdim\dimen0>\vsize\pageinsert\box1\vfill\endinsert
  202. \else%keine seitenhohe Abbildung
  203. \if Y\FIG\stackfigbox\else
  204. \dimen0=\pagetotal\ifdim\dimen0<\pagegoal%akt. Seite ist noch nicht voll
  205. \advance\dimen0by\ht1\advance\dimen0by\dp1\advance\dimen0by1.7true cm
  206. \ifdim\dimen0>\pagegoal\stackfigbox
  207. \else\box1\vskip7true mm\fi
  208. \else\box1\vskip7true mm\fi\fi\fi\let\firstleg=Y}
  209. %
  210. % Abbildungen
  211. \def\begfig#1cm#2\endfig{\par
  212. \setbox1=\vbox{\dimen0=#1true cm\advance\dimen0
  213. by1true cm\kern\dimen0\vskip-.8333\baselineskip#2}\placefigure}
  214. %
  215. \def\begdoublefig#1cm #2 #3 \enddoublefig{\begfig#1cm%
  216. \line{\vtop{\hsize=0.46\hsize#2}\hfill
  217. \vtop{\hsize=0.46\hsize#3}}\endfig}
  218. %-------------------------------------------------------------------
  219. \let\firstleg=Y
  220. % Abbildungslegenden
  221. % Falls Text kleiner als eine volle Zeile, zentriert.
  222. \def\figure#1#2{\if Y\firstleg\vskip1true cm\else\vskip1.7true mm\fi
  223. \let\firstleg=N\setbox0=\vbox{\noindent\petit{\bf
  224. Fig.\ts#1\unskip.\ }\ignorespaces #2\smallskip
  225. \count255=0\global\advance\count255by\prevgraf}%
  226. \ifnum\count255>1\box0\else
  227. \centerline{\petit{\bf Fig.\ts#1\unskip.\
  228. }\ignorespaces#2}\smallskip\fi}
  229. %-----------------------------------------------------------------
  230. % Tabellenkoepfe
  231. \def\tabcap#1#2{\smallskip\vbox{\noindent\petit{\bf Table\ts#1\unskip.\
  232. }\ignorespaces #2\medskip}}
  233. %-------------------------------------------------------------------
  234. \def\begtab#1cm#2\endtab{\par
  235.    \ifvoid\topins\midinsert\medskip\vbox{#2\kern#1true cm}\endinsert
  236.    \else\topinsert\vbox{#2\kern#1true cm}\endinsert\fi}
  237. %-------------------------------------------------------------------
  238. \def\begpet{\vskip6pt\bgroup\petit}
  239. \def\endpet{\vskip6pt\egroup}
  240. %-------------------------------------------------------------------
  241. % Referenzen
  242. \newdimen\refindent
  243. \newlinechar=`\|
  244. \def\begref#1#2{\titlea{}{#1}%
  245. \bgroup\petit
  246. \setbox0=\hbox{#2\enspace}\refindent=\wd0\relax
  247. \if!#2!\else
  248. \ifdim\refindent>0.5em\else
  249. \message{|Something may be wrong with your references;}%
  250. \message{probably you missed the second argument of \string\begref.}%
  251. \fi\fi}
  252. \def\ref{\goodbreak
  253. \hangindent\oldparindent\hangafter=1
  254. \noindent\ignorespaces}
  255. \def\refno#1{\goodbreak
  256. \setbox0=\hbox{#1\enspace}\ifdim\refindent<\wd0\relax
  257. \message{|Your reference `#1' is wider than you pretended in using
  258. \string\begref.}\fi
  259. \hangindent\refindent\hangafter=1
  260. \noindent\kern\refindent\llap{#1\enspace}\ignorespaces}
  261. \def\refmark#1{\goodbreak
  262. \setbox0=\hbox{#1\enspace}\ifdim\refindent<\wd0\relax
  263. \message{|Your reference `#1' is wider than you pretended in using
  264. \string\begref.}\fi
  265. \hangindent\refindent\hangafter=1
  266. \noindent\hbox to\refindent{#1\hss}\ignorespaces}
  267. \def\endref{\goodbreak\endpet}% Ende der Referenzen
  268. %-------------------------------------------------------------------
  269. \def\vec#1{{\textfont1=\tenbf\scriptfont1=\sevenbf
  270. \textfont0=\tenbf\scriptfont0=\sevenbf
  271. \mathchoice{\hbox{$\displaystyle#1$}}{\hbox{$\textstyle#1$}}
  272. {\hbox{$\scriptstyle#1$}}{\hbox{$\scriptscriptstyle#1$}}}}
  273. %---------------------------------------------------------------------
  274. \def\petit{\def\rm{\fam0\ninerm}%
  275. \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
  276.  \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei
  277.  \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
  278.  \def\it{\fam\itfam\nineit}%
  279.  \textfont\itfam=\nineit
  280.  \def\sl{\fam\slfam\ninesl}%
  281.  \textfont\slfam=\ninesl
  282.  \def\bf{\fam\bffam\ninebf}%
  283.  \textfont\bffam=\ninebf \scriptfont\bffam=\sixbf
  284.  \scriptscriptfont\bffam=\fivebf
  285.  \def\sans{\fam\sansfam\ninesans}%
  286.  \textfont\sansfam=\ninesans \scriptfont\sansfam=\sixsans
  287.  \scriptscriptfont\sansfam=\fivesans
  288.  \def\tt{\fam\ttfam\ninett}%
  289.  \textfont\ttfam=\ninett
  290.  \normalbaselineskip=11pt
  291.  \setbox\strutbox=\hbox{\vrule height7pt depth2pt width0pt}%
  292.  \normalbaselines\rm
  293. \def\vec##1{{\textfont1=\tbms\scriptfont1=\tbmss
  294. \textfont0=\ninebf\scriptfont0=\sixbf
  295. \mathchoice{\hbox{$\displaystyle##1$}}{\hbox{$\textstyle##1$}}
  296. {\hbox{$\scriptstyle##1$}}{\hbox{$\scriptscriptstyle##1$}}}}}
  297. %-------------------------------------------------------------------
  298. \nopagenumbers
  299. %
  300. % Der Schalter \header gibt an, ob ein "running head" gedruckt werden
  301. % soll; wenn er nicht auf "N" steht kommt ein solcher.
  302. \let\header=Y
  303. \let\FIG=N
  304. \newbox\figbox
  305. \output={\if N\header\headline={\hfil}\fi\plainoutput
  306. \global\let\header=Y\if Y\FIG\topinsert\unvbox\figbox\endinsert
  307. \global\let\FIG=N\fi}
  308. %------------------------------------------------------
  309. \let\lasttitle=N
  310. %---------------------------------------------------------------
  311. \catcode`\@=\active
  312. \def\author#1{\bgroup
  313. \baselineskip=13.2pt
  314. \lineskip=0pt
  315. \pretolerance=10000
  316. \markfont
  317. \ignorespaces#1\bigskip\egroup
  318. {\def@##1{}%
  319. \setbox0=\hbox{\petit\kern2.5true cc\ignorespaces#1\unskip}%
  320. \ifdim\wd0>\hsize
  321. \message{The names of the authors exceed the headline, please use a }%
  322. \message{short form with AUTHORRUNNING}\gdef\leftheadline{%
  323. \rlap{\folio}\hfil AUTHORS suppressed due to excessive length}%
  324. \else
  325. \xdef\leftheadline{\rlap{\noexpand\folio}\hfil
  326. \ignorespaces#1\unskip}%
  327. \fi
  328. }\let\INS=E}
  329. \def\address#1{\bgroup\petit
  330. \ignorespaces#1\bigskip\egroup
  331. \catcode`\@=12
  332. \vskip2cm\noindent\ignorespaces}
  333. %---------------------------------------------------------------------
  334. \let\INS=N%
  335. % Aktionen, die bei Antreffen des @-Zeichens zu machen sind;
  336. % drei Faelle a) @ bei AUTHOR, b) 1.@ bei ADDRESS, c) alle weiteren @'s
  337. \def@#1{\if N\INS\unskip$\,^{#1}$\else\global\footcount=#1\relax
  338. \if E\INS\hangindent0.5\parindent\noindent\hbox
  339. to0.5\parindent{$^{#1}$\hfil}\let\INS=Y\ignorespaces
  340. \else\par\hangindent0.5\parindent\noindent\hbox
  341. to0.5\parindent{$^{#1}$\hfil}\ignorespaces\fi\fi}%
  342. \catcode`\@=12
  343. %-------------------------------------------------------------------
  344. % "running head"
  345. \headline={\petit\def\newline{ }\def\fonote#1{}\ifodd\pageno
  346. \rightheadline\else\leftheadline\fi}
  347. \def\rightheadline{Missing CONTRIBUTION
  348. title\hfil\llap{\folio}}
  349. \def\leftheadline{\rlap{\folio}\hfil Missing name(s)
  350. of the author(s)}
  351. \nopagenumbers
  352. %
  353. \let\header=Y
  354. %------------------------------------------------------
  355. \def\contributionrunning#1{\message{Running head on right hand sides
  356. (CONTRIBUTION)
  357. has been changed}\gdef\rightheadline{\ignorespaces#1\unskip\hfil
  358. \llap{\folio}}}
  359. \def\authorrunning#1{\message{Running head on left hand sides (AUTHOR)
  360. has been changed}\gdef\leftheadline{\rlap{\folio}\hfil
  361. \ignorespaces#1\unskip}}
  362. %------------------------------------------------------
  363. \let\lasttitle=N
  364.  \def\contribution#1{\vfill\eject
  365.  \let\header=N\bgroup
  366.  \textfont0=\tafontt \scriptfont0=\tafonts \scriptscriptfont0=\tafontss
  367.  \textfont1=\tamt \scriptfont1=\tams \scriptscriptfont1=\tams
  368.  \textfont2=\tast \scriptfont2=\tass \scriptscriptfont2=\tasss
  369.  \par\baselineskip=16pt
  370.      \lineskip=16pt
  371.      \tafontt
  372.      \raggedright
  373.      \pretolerance=10000
  374.      \noindent
  375.      \ignorespaces#1
  376.      \vskip17pt\egroup
  377.      \nobreak
  378.      \parindent=0pt
  379.      \everypar={\global\parindent=1.5em
  380.      \global\let\lasttitle=N\global\everypar={}}%
  381.      \global\let\lasttitle=A%
  382.      \setbox0=\hbox{\petit\def\newline{ }\def\fonote##1{}\kern2.5true
  383.      cc\ignorespaces#1}\ifdim\wd0>\hsize
  384.      \message{Your CONTRIBUTIONtitle exceeds the headline,
  385. please use a short form
  386. with CONTRIBUTIONRUNNING}\gdef\rightheadline{CONTRIBUTION title
  387. suppressed due to excessive length\hfil\llap{\folio}}%
  388. \else
  389. \gdef\rightheadline{\ignorespaces#1\unskip\hfil\llap{\folio}}\fi
  390. \catcode`\@=\active
  391.      \ignorespaces}
  392. %------------------------------------------------------
  393. % Beginn Ueberschrift 1. Ordnung
  394. \def\titlea#1#2{\if N\lasttitle\else\vskip-28pt
  395.      \fi
  396.      \vskip18pt plus 4pt minus4pt
  397.      \bgroup
  398. \textfont0=\tbfontt \scriptfont0=\tbfonts \scriptscriptfont0=\tbfontss
  399. \textfont1=\tbmt \scriptfont1=\tbms \scriptscriptfont1=\tbmss
  400. \textfont2=\tbst \scriptfont2=\tbss \scriptscriptfont2=\tbsss
  401. \textfont3=\tasys \scriptfont3=\tenex \scriptscriptfont3=\tenex
  402.      \baselineskip=16pt
  403.      \lineskip=0pt
  404.      \pretolerance=10000
  405.      \noindent
  406.      \tbfontt
  407.      \rightskip 0pt plus 6em
  408.      \setbox0=\vbox{\vskip23pt\def\fonote##1{}%
  409.      \noindent
  410.      \if!#1!\ignorespaces#2
  411.      \else\ignorespaces#1\unskip\enspace\ignorespaces#2\fi
  412.      \vskip18pt}%
  413.      \dimen0=\pagetotal\advance\dimen0 by-\pageshrink
  414.      \ifdim\dimen0<\pagegoal
  415.      \dimen0=\ht0\advance\dimen0 by\dp0\advance\dimen0 by
  416.      3\normalbaselineskip
  417.      \advance\dimen0 by\pagetotal
  418.      \ifdim\dimen0>\pagegoal\eject\fi\fi
  419.      \noindent
  420.      \if!#1!\ignorespaces#2
  421.      \else\ignorespaces#1\unskip\enspace\ignorespaces#2\fi
  422.      \vskip12pt plus4pt minus4pt\egroup
  423.      \nobreak
  424.      \parindent=0pt
  425.      \everypar={\global\parindent=\oldparindent
  426.      \global\let\lasttitle=N\global\everypar={}}%
  427.      \global\let\lasttitle=A%
  428.      \ignorespaces}
  429. %------------------------------------------------------
  430.  % Beginn Ueberschrift 2. Ordnung
  431.  \def\titleb#1#2{\if N\lasttitle\else\vskip-22pt
  432.      \fi
  433.      \vskip18pt plus 4pt minus4pt
  434.      \bgroup
  435. \textfont0=\tenbf \scriptfont0=\sevenbf \scriptscriptfont0=\fivebf
  436. \textfont1=\tams \scriptfont1=\tamss \scriptscriptfont1=\tbmss
  437.      \lineskip=0pt
  438.      \pretolerance=10000
  439.      \noindent
  440.      \bf
  441.      \rightskip 0pt plus 6em
  442.      \setbox0=\vbox{\vskip23pt\def\fonote##1{}%
  443.      \noindent
  444.      \if!#1!\ignorespaces#2
  445.      \else\ignorespaces#1\unskip\enspace\ignorespaces#2\fi
  446.      \vskip10pt}%
  447.      \dimen0=\pagetotal\advance\dimen0 by-\pageshrink
  448.      \ifdim\dimen0<\pagegoal
  449.      \dimen0=\ht0\advance\dimen0 by\dp0\advance\dimen0 by
  450.      3\normalbaselineskip
  451.      \advance\dimen0 by\pagetotal
  452.      \ifdim\dimen0>\pagegoal\eject\fi\fi
  453.      \noindent
  454.      \if!#1!\ignorespaces#2
  455.      \else\ignorespaces#1\unskip\enspace\ignorespaces#2\fi
  456.      \vskip8pt plus4pt minus4pt\egroup
  457.      \nobreak
  458.      \parindent=0pt
  459.      \everypar={\global\parindent=\oldparindent
  460.      \global\let\lasttitle=N\global\everypar={}}%
  461.      \global\let\lasttitle=B%
  462.      \ignorespaces}
  463. %------------------------------------------------------
  464.  % Beginn Ueberschrift 3. Ordnung
  465.  \def\titlec#1{\if N\lasttitle\else\vskip-\baselineskip
  466.      \fi
  467.      \vskip18pt plus 4pt minus4pt
  468.      \bgroup
  469. \textfont0=\tenbf \scriptfont0=\sevenbf \scriptscriptfont0=\fivebf
  470. \textfont1=\tams \scriptfont1=\tamss \scriptscriptfont1=\tbmss
  471.      \bf
  472.      \noindent
  473.      \ignorespaces#1\unskip\ \egroup
  474.      \ignorespaces}
  475. %-------------------------------------------------------------------
  476.  % Beginn Ueberschrift 4. Ordnung
  477.  \def\titled#1{\if N\lasttitle\else\vskip-\baselineskip
  478.      \fi
  479.      \vskip12pt plus 4pt minus 4pt
  480.      \bgroup
  481.      \it
  482.      \noindent
  483.      \ignorespaces#1\unskip\ \egroup
  484.      \ignorespaces}
  485. %-------------------------------------------------------------------
  486. \let\ts=\thinspace
  487. \def\footnoterule{\kern-3pt\hrule width 2true cm\kern2.6pt}
  488. % Fussnoten-macros
  489. \newcount\footcount \footcount=0
  490. \def\advftncnt{\advance\footcount by1\global\footcount=\footcount}
  491. % Automatisch numerierte Fussnote, Fussnotentex in petit
  492. \def\fonote#1{\advftncnt$^{\the\footcount}$\begingroup\petit
  493. \parfillskip=0pt plus 1fil
  494. \def\textindent##1{\hangindent0.5\oldparindent\noindent\hbox
  495. to0.5\oldparindent{##1\hss}\ignorespaces}%
  496. \vfootnote{$^{\the\footcount}$}{#1\vskip-9.69pt}\endgroup}
  497. %-------------------------------------------------------------------
  498. \def\item#1{\par\noindent
  499. \hangindent6.5 mm\hangafter=0
  500. \llap{#1\enspace}\ignorespaces}
  501. %-------------------------------------------------------------------
  502. \def\itemitem#1{\par\noindent
  503. \hangindent11.5 mm\hangafter=0
  504. \llap{#1\enspace}\ignorespaces}
  505. %-------------------------------------------------------------------
  506. \def\newenvironment#1#2#3#4{\long\def#1##1##2{\removelastskip
  507. \vskip\baselineskip\noindent{#3#2\if!##1!.\else\unskip\ \ignorespaces
  508. ##1\unskip\fi\ }{#4\ignorespaces##2}\vskip\baselineskip}}
  509. % Lemma, Proposition, Theorem, Corollary
  510. \newenvironment\lemma{Lemma}{\bf}{\it}
  511. \newenvironment\proposition{Proposition}{\bf}{\it}
  512. \newenvironment\theorem{Theorem}{\bf}{\it}
  513. \newenvironment\corollary{Corollary}{\bf}{\it}
  514. %---------------------------------------------------------------------
  515. % Example, Exercise, Problem, Solution, Definition
  516. \newenvironment\example{Example}{\it}{\rm}
  517. \newenvironment\exercise{Exercise}{\bf}{\rm}
  518. \newenvironment\problem{Problem}{\bf}{\rm}
  519. \newenvironment\solution{Solution}{\bf}{\rm}
  520. \newenvironment\definition{Definition}{\bf}{\rm}
  521. %---------------------------------------------------------------------
  522. %Note, Question
  523. \newenvironment\note{Note}{\it}{\rm}
  524. \newenvironment\question{Question}{\it}{\rm}
  525. %---------------------------------------------------------------------
  526. %Proof, Remark
  527. \long\def\remark#1{\removelastskip\vskip\baselineskip\noindent{\it
  528. Remark.\ }\ignorespaces}
  529. \long\def\proof#1{\removelastskip\vskip\baselineskip\noindent{\it
  530. Proof\if!#1!\else\ \ignorespaces#1\fi.\ }\ignorespaces}
  531. %------------------------------------------------------------------
  532. \def\typeset{\petit\noindent This article was processed by the author
  533. using the \TeX\ macro package from Springer-Verlag.\par}
  534. \outer\def\byebye{\bigskip\bigskip\typeset
  535. \footcount=1\ifx\speciali\undefined\else
  536. \loop\smallskip\noindent special character No\number\footcount:
  537. \csname special\romannumeral\footcount\endcsname
  538. \advance\footcount by 1\global\footcount=\footcount
  539. \ifnum\footcount<11\repeat\fi
  540. \vfill\supereject\end}
  541.